﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class BeforeSslAuthenticateEventArgs
   | Titanium Web Proxy </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class BeforeSslAuthenticateEventArgs
   | Titanium Web Proxy ">
    <meta name="generator" content="docfx 2.59.4.0">
    
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="">
    <meta property="docfx:tocrel" content="toc.html">
    
    <meta property="docfx:rel" content="../">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../logo.svg" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list">Search Results for <span></span></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination" data-first="First" data-prev="Previous" data-next="Next" data-last="Last"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs">
  
  
  <h1 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs" class="text-break">Class BeforeSslAuthenticateEventArgs
  </h1>
  <div class="markdown level0 summary"><p>This is used in transparent endpoint before authenticating client.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">Object</a></div>
    <div class="level1"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.eventargs">EventArgs</a></div>
    <div class="level2"><a class="xref" href="Titanium.Web.Proxy.EventArguments.ProxyEventArgsBase.html">ProxyEventArgsBase</a></div>
    <div class="level3"><span class="xref">BeforeSslAuthenticateEventArgs</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Titanium.Web.Proxy.EventArguments.ProxyEventArgsBase.html#Titanium_Web_Proxy_EventArguments_ProxyEventArgsBase_ClientUserData">ProxyEventArgsBase.ClientUserData</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.eventargs.empty">EventArgs.Empty</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring#system-object-tostring">Object.ToString()</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">Object.Equals(Object)</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">Object.Equals(Object, Object)</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals#system-object-referenceequals(system-object-system-object)">Object.ReferenceEquals(Object, Object)</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode#system-object-gethashcode">Object.GetHashCode()</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype#system-object-gettype">Object.GetType()</a>
    </div>
    <div>
      <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone#system-object-memberwiseclone">Object.MemberwiseClone()</a>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Titanium.Web.Proxy.EventArguments.html">Titanium.Web.Proxy.EventArguments</a></h6>
  <h6><strong>Assembly</strong>: Titanium.Web.Proxy.dll</h6>
  <h5 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class BeforeSslAuthenticateEventArgs : ProxyEventArgsBase</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/justcoding121/titanium-web-proxy/new/develop/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_DecryptSsl.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.DecryptSsl%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/justcoding121/titanium-web-proxy/blob/develop/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L32">View Source</a>
  </span>
  <a id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_DecryptSsl_" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.DecryptSsl*"></a>
  <h4 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_DecryptSsl" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.DecryptSsl">DecryptSsl</h4>
  <div class="markdown level1 summary"><p>Should we decrypt the SSL request?
If true we decrypt with fake certificate.
If false we relay the connection to the hostname mentioned in SniHostname.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool DecryptSsl { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">Boolean</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/justcoding121/titanium-web-proxy/new/develop/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_ForwardHttpsHostName.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.ForwardHttpsHostName%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/justcoding121/titanium-web-proxy/blob/develop/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L42">View Source</a>
  </span>
  <a id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_ForwardHttpsHostName_" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.ForwardHttpsHostName*"></a>
  <h4 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_ForwardHttpsHostName" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.ForwardHttpsHostName">ForwardHttpsHostName</h4>
  <div class="markdown level1 summary"><p>We need to know the server hostname we are forwarding the request to.
By default its the SNI hostname indicated in SSL handshake, when SNI is available.
When SNI is not available, it will use the GenericCertificateName of TransparentEndPoint.
This property is used only when DecryptSsl or when BeforeSslAuthenticateEventArgs.DecryptSsl is false.
When DecryptSsl is true, we need to explicitly set the Forwarded host and port by setting
e.HttpClient.Request.Url inside BeforeRequest event handler.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string ForwardHttpsHostName { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">String</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/justcoding121/titanium-web-proxy/new/develop/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_ForwardHttpsPort.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.ForwardHttpsPort%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/justcoding121/titanium-web-proxy/blob/develop/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L51">View Source</a>
  </span>
  <a id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_ForwardHttpsPort_" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.ForwardHttpsPort*"></a>
  <h4 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_ForwardHttpsPort" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.ForwardHttpsPort">ForwardHttpsPort</h4>
  <div class="markdown level1 summary"><p>We need to know the server port we are forwarding the request to.
By default its the standard https port, 443.
This property is used only when DecryptSsl or when BeforeSslAuthenticateEventArgs.DecryptSsl is false.
When DecryptSsl is true, we need to explicitly set the Forwarded host and port by setting
e.HttpClient.Request.Url inside BeforeRequest event handler.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int ForwardHttpsPort { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">Int32</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/justcoding121/titanium-web-proxy/new/develop/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_SniHostName.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.SniHostName%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/justcoding121/titanium-web-proxy/blob/develop/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L25">View Source</a>
  </span>
  <a id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_SniHostName_" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.SniHostName*"></a>
  <h4 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_SniHostName" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.SniHostName">SniHostName</h4>
  <div class="markdown level1 summary"><p>The server name indication hostname if available.
Otherwise the GenericCertificateName property of TransparentEndPoint.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string SniHostName { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">String</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/justcoding121/titanium-web-proxy/new/develop/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_TerminateSession.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.TerminateSession%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/justcoding121/titanium-web-proxy/blob/develop/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L56">View Source</a>
  </span>
  <a id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_TerminateSession_" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.TerminateSession*"></a>
  <h4 id="Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs_TerminateSession" data-uid="Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs.TerminateSession">TerminateSession()</h4>
  <div class="markdown level1 summary"><p>Terminate the request abruptly by closing client/server connections.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void TerminateSession()</code></pre>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/justcoding121/titanium-web-proxy/new/develop/apiSpec/new?filename=Titanium_Web_Proxy_EventArguments_BeforeSslAuthenticateEventArgs.md&amp;value=---%0Auid%3A%20Titanium.Web.Proxy.EventArguments.BeforeSslAuthenticateEventArgs%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/justcoding121/titanium-web-proxy/blob/develop/src/Titanium.Web.Proxy/EventArguments/BeforeSslAuthenticateEventArgs.cs/#L9" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            
            <span>Generated by <strong>DocFX</strong></span>
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
